3 research outputs found
An efficient multi-core implementation of a novel HSS-structured multifrontal solver using randomized sampling
We present a sparse linear system solver that is based on a multifrontal
variant of Gaussian elimination, and exploits low-rank approximation of the
resulting dense frontal matrices. We use hierarchically semiseparable (HSS)
matrices, which have low-rank off-diagonal blocks, to approximate the frontal
matrices. For HSS matrix construction, a randomized sampling algorithm is used
together with interpolative decompositions. The combination of the randomized
compression with a fast ULV HSS factorization leads to a solver with lower
computational complexity than the standard multifrontal method for many
applications, resulting in speedups up to 7 fold for problems in our test
suite. The implementation targets many-core systems by using task parallelism
with dynamic runtime scheduling. Numerical experiments show performance
improvements over state-of-the-art sparse direct solvers. The implementation
achieves high performance and good scalability on a range of modern shared
memory parallel systems, including the Intel Xeon Phi (MIC). The code is part
of a software package called STRUMPACK -- STRUctured Matrices PACKage, which
also has a distributed memory component for dense rank-structured matrices
An efficient basis set representation for calculating electrons in molecules
The method of McCurdy, Baertschy, and Rescigno, J. Phys. B, 37, R137 (2004)
is generalized to obtain a straightforward, surprisingly accurate, and scalable
numerical representation for calculating the electronic wave functions of
molecules. It uses a basis set of product sinc functions arrayed on a Cartesian
grid, and yields 1 kcal/mol precision for valence transition energies with a
grid resolution of approximately 0.1 bohr. The Coulomb matrix elements are
replaced with matrix elements obtained from the kinetic energy operator. A
resolution-of-the-identity approximation renders the primitive one- and
two-electron matrix elements diagonal; in other words, the Coulomb operator is
local with respect to the grid indices. The calculation of contracted
two-electron matrix elements among orbitals requires only O(N log(N))
multiplication operations, not O(N^4), where N is the number of basis
functions; N = n^3 on cubic grids. The representation not only is numerically
expedient, but also produces energies and properties superior to those
calculated variationally. Absolute energies, absorption cross sections,
transition energies, and ionization potentials are reported for one- (He^+,
H_2^+ ), two- (H_2, He), ten- (CH_4) and 56-electron (C_8H_8) systems.Comment: Submitted to JC